#!/bin/sh
#
# $Id: dhcp3-server.init.d,v 1.4 2003/07/13 19:12:41 mdz Exp $
#

# On what interfaces should the DHCP server (dhcpd) serve DHCP requests?
#       Separate multiple interfaces with spaces, e.g. "eth0 eth1".
INTERFACES=""

# Additional options that are passed to the DHCP server daemon?
OPTIONS=""

NAME="dhcpd"
DAEMON="/usr/sbin/${NAME}"
CFG_FILE="/etc/default/${NAME}"

# Read configuration variable file if it is present
[ -r "${CFG_FILE}" ] && . "${CFG_FILE}"

# Sanity checks
test -f /usr/sbin/dhcpd || exit 0
test -f /etc/dhcp/dhcpd.conf || exit 0

case "$1" in
	start)
		printf "Starting DHCP server: "
		test -d /var/lib/dhcp/ || mkdir -p /var/lib/dhcp/
		test -f /var/lib/dhcp/dhcpd.leases || touch /var/lib/dhcp/dhcpd.leases
		start-stop-daemon -S -q -x ${DAEMON} -- -q $OPTIONS $INTERFACES
		[ $? = 0 ] && echo "OK" || echo "FAIL"
		;;
	stop)
		printf "Stopping DHCP server: "
		start-stop-daemon -K -q -x ${DAEMON}
		[ $? = 0 ] && echo "OK" || echo "FAIL"
		;;
	restart | force-reload)
		$0 stop
		$0 start
		if [ "$?" != "0" ]; then
			exit 1
		fi
		;;
	*)
		echo "Usage: $0 {start|stop|restart|force-reload}"
		exit 1
esac

exit 0
